[20260123] PGM / LV2 / 가장 큰 정사각형 찾기 / 강신지 #1818
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🧷 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12905
🧭 풀이 시간
30분
👀 체감 난이도
✏️ 문제 설명
0과 1로 이루어진 2차원 배열 borad에서, 값이 1인 칸들로만 만들 수 있는 가장 큰 정사각형의 넓이 구하기
🔍 풀이 방법
dp로 풀면 된다.
dp[i][j]는 (i,j)를 우하단으로 하는 가장 큰 정사각형의 한 변 길이.
board[i][j] == 1이면 dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1로 갱신한다. (위, 왼쪽, 왼쪽위)
전체 dp 값 중 최댓값의 제곱이 곧 가장 큰 정사각형의 넓이가 된다.
⏳ 회고